package com.ylr.send.framework.service;

import com.ylr.send.common.vo.SmsTemplateFormVo;
import com.ylr.base.common.dto.PageDto;
import com.ylr.send.common.dto.SmsTemplateDto;
import com.ylr.send.common.dto.SmsTemplatePageEnumDto;
import com.ylr.send.common.vo.SmsTemplateVo;
import com.ylr.base.common.vo.UpdateStatusVo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ylr.send.framework.entity.SmsTemplateEntity;

import java.util.List;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wyw
 * date: 2023-06-14 21:23:54
 * className: SmsTemplateService
 * version: 1.0
 * description:
 */
public interface SmsTemplateService extends IService<SmsTemplateEntity> {

    /**
     * 保存短信模板操作
     * @param smsTemplateVo 参数对象
     */
    void saveSmsTemplate(SmsTemplateVo smsTemplateVo);

    /**
     * 分页查询短信模板操作
     * @param smsTemplateFormVo 参数对象
     * @return 短信模板分页数据
     */
    PageDto<SmsTemplateDto> pageSmsTemplateList(SmsTemplateFormVo smsTemplateFormVo);

    /**
     * 获取短信模板操作
     * @param id 主键
     * @return 短信模板数据
     */
    SmsTemplateDto getSmsTemplate(Long id);

    /**
     * 获取短信模板操作
     * @param code 编号
     * @return 短信模板数据
     */
    SmsTemplateEntity getSmsTemplateByCode(String code);

    /**
     * 获取短信模板页面枚举操作
     * @return 枚举数据
     */
    SmsTemplatePageEnumDto getPageEnum();

    /**
     * 修改短信模板操作
     * @param smsTemplateVo 参数对象
     */
    void updateSmsTemplate(SmsTemplateVo smsTemplateVo);

    /**
     * 修改短信模板状态操作
     * @param updateStatusVo 参数对象
     */
    void updateSmsTemplateStatus(UpdateStatusVo updateStatusVo);

    /**
     * 删除短信模板操作
     * @param idList 主键列表
     */
    void deleteSmsTemplate(List<Long> idList);

}

